<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Imperative Programmierung</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Imperative_Programmierung"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Imperative_Programmierung rootpage-Imperative_Programmierung skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Imperative Programmierung</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>Imperative Programmierung</b> (<span style="font-style:normal;font-weight:normal"><a href="Latein" title="Latein">lateinisch</a></span> <span lang="la-Latn" style="font-style:italic"><i>imperare</i></span> ‚anordnen‘, ‚befehlen‘) ist ein <a href="Programmierparadigma" title="Programmierparadigma">Programmierparadigma</a>, nach dem „ein Programm aus einer Folge von <a href="Anweisung_(Programmierung)" title="Anweisung (Programmierung)">Anweisungen</a> besteht, die vorgeben, in welcher Reihenfolge was vom <a href="Computer" title="Computer">Computer</a> getan werden soll“.<sup id="cite_ref-GKIT_1-0" class="reference"><a href="#cite_note-GKIT-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>Die imperative <a href="Programmierung" title="Programmierung">Programmierung</a> ist das am längsten bekannte Programmierparadigma. Bedingt durch den Sprachumfang früherer Programmiersprachen war diese Vorgehensweise ehemals die klassische Art des Programmierens. Sie liegt dem Entwurf vieler Programmiersprachen, zum Beispiel <a href="ALGOL" title="ALGOL">ALGOL</a>, <a href="BASIC" title="BASIC">BASIC</a>, <a href="Fortran" title="Fortran">Fortran</a>, <a href="Pascal_(Programmiersprache)" title="Pascal (Programmiersprache)">Pascal</a>, <a href="Ada_(Programmiersprache)" title="Ada (Programmiersprache)">Ada</a>, <a href="PL/I" title="PL/I">PL/I</a>, <a href="Cobol" class="mw-redirect" title="Cobol">Cobol</a>, <a href="C_(Programmiersprache)" title="C (Programmiersprache)">C</a> und allen <a href="Assemblersprache" title="Assemblersprache">Assemblersprachen</a> zugrunde.<sup id="cite_ref-GKIT_1-1" class="reference"><a href="#cite_note-GKIT-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p><i>Abweichende Bezeichnungen:</i> In der Literatur wird dieses Entwicklungskonzept zum Teil auch „imperativ/prozedural“, „algorithmisch“<sup id="cite_ref-MSLIB_2-0" class="reference"><a href="#cite_note-MSLIB-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> oder auch „zustandsorientiert“<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> genannt. Auch die Bezeichnung „<a href="Prozedurale_Programmierung" title="Prozedurale Programmierung">prozedurale Programmierung</a>“ wird zum Teil synonym verwendet, was jedoch abweichend auch mit „Verwendung von <a href="Prozedur_(Programmierung)" title="Prozedur (Programmierung)">Prozeduren</a>“ definiert wird.
</p>
<div class="mw-heading mw-heading2"><h2 id="Details">Details</h2></div>
<p>Bestimmende Merkmale für diese Art des <a href="Programmierung" title="Programmierung">Programmierens</a> sind:<sup id="cite_ref-PD_4-0" class="reference"><a href="#cite_note-PD-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-PPM_5-0" class="reference"><a href="#cite_note-PPM-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>Im <a href="Quellcode" class="mw-redirect" title="Quellcode">Quellcode</a> wird festgelegt, was in welcher <i>Reihenfolge</i> und wie zu tun ist: „First do this and next do that“<sup id="cite_ref-PD_4-1" class="reference"><a href="#cite_note-PD-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>, schrittweises ‚Fortschreiten‘ der Befehle; „viewed as sequence of things to be done“<sup id="cite_ref-PPM_5-1" class="reference"><a href="#cite_note-PPM-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> (dargestellt als Folge von Anweisungen).</li>
<li>Zur Steuerung der Befehlsausführung verwendet der <a href="Softwareentwickler" title="Softwareentwickler">Entwickler</a> <i><a href="Kontrollstruktur" title="Kontrollstruktur">Kontrollstrukturen</a></i>, z. B. Sequenz, <a href="Schleife_(Programmierung)" title="Schleife (Programmierung)">Schleife</a>, <a href="Bedingte_Verzweigung" class="mw-redirect" title="Bedingte Verzweigung">bedingte Verzweigung</a>.</li></ul>
<p>Das dem imperativen <a href="Programmierparadigma" title="Programmierparadigma">Paradigma</a> zugrunde liegende abstrakte Ausführungsmodell ist eng angelehnt an die Ausführung von <a href="Maschinencode" class="mw-redirect" title="Maschinencode">Maschinencode</a> auf Computern, die nach der <a href="Von-Neumann-Architektur" title="Von-Neumann-Architektur">Von-Neumann-Architektur</a> implementiert sind. Es existieren beispielsweise bedingte und unbedingte Sprunganweisungen. Der Status des Rechners bzw. des Programms ergibt sich aus dem Inhalt von Datenfeldern im <a href="Arbeitsspeicher" title="Arbeitsspeicher">Arbeitsspeicher</a> und dem Zustand von <a href="Systemvariable" class="mw-redirect" title="Systemvariable">Systemvariablen</a> (z. B. <a href="Register_(Computer)" class="mw-redirect" title="Register (Computer)">Register</a>, <a href="Befehlsz%C3%A4hler" title="Befehlszähler">Befehlszähler</a> …).
</p><p>Die Hardware-Implementierung fast aller <a href="Computer" title="Computer">Computer</a> ist imperativ. Nahezu die gesamte <a href="Computerhardware" class="mw-redirect" title="Computerhardware">Computerhardware</a> ist für die Ausführung von <a href="Maschinensprache" title="Maschinensprache">Maschinensprache</a> ausgelegt, die dem Computer eigen ist und im imperativen Stil geschrieben ist. Aus dieser einfachen Perspektive wird der Programmstatus durch den Inhalt des Speichers definiert, und die <a href="Anweisung_(Programmierung)" title="Anweisung (Programmierung)">Anweisungen</a> sind Anweisungen in der nativen <a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a> des Computers. Übergeordnete imperative Sprachen verwenden Variablen und komplexere Aussagen, folgen jedoch immer noch demselben <a href="Programmierparadigma" title="Programmierparadigma">Paradigma</a>. Rezepte und Prozess-Checklisten sind zwar keine <a href="Computerprogramm" title="Computerprogramm">Computerprogramme</a>, aber auch bekannte Konzepte, deren Stil der imperativen <a href="Programmierung" title="Programmierung">Programmierung</a> ähnelt. Jeder Schritt ist eine Anweisung, und die physische Welt hält den Zustand. Da die Grundideen der imperativen Programmierung sowohl konzeptionell vertraut als auch direkt in der <a href="Hardware" title="Hardware">Hardware</a> enthalten sind, sind die meisten <a href="Computersprache" title="Computersprache">Computersprachen</a> im imperativen Stil.
</p><p>Zuweisungen führen im imperativen <a href="Programmierparadigma" title="Programmierparadigma">Paradigma</a> eine <a href="Operation_(Informatik)" title="Operation (Informatik)">Operation</a> für <a href="Information" title="Information">Informationen</a> im Speicher durch und speichern die Ergebnisse zur späteren Verwendung im Speicher. Höhere imperative Sprachen ermöglichen darüber hinaus die Auswertung komplexer Ausdrücke, die aus einer Kombination von arithmetischen Operationen und Funktionsauswertungen bestehen können, sowie die Zuordnung des resultierenden Werts zum Speicher. Durch Schleifenanweisungen (<a href="While-Schleife" class="mw-redirect" title="While-Schleife">while-Schleifen</a>, <a href="Do-while-Schleife" class="mw-redirect" title="Do-while-Schleife">do-while-Schleifen</a> und <a href="For-Schleife" title="For-Schleife">for-Schleifen</a>) kann eine Folge von <a href="Anweisung_(Programmierung)" title="Anweisung (Programmierung)">Anweisungen</a> mehrmals ausgeführt werden. Schleifen können entweder die Anweisungen ausführen, die sie vordefiniert enthalten, oder sie können sie wiederholt ausführen, bis sich einige Bedingungen ändern. Bedingte Verzweigungsanweisungen ermöglichen die Ausführung einer Folge von Anweisungen nur, wenn eine Bedingung erfüllt ist. Andernfalls werden die Anweisungen übersprungen und die Ausführungssequenz wird ab der darauf folgenden Anweisung fortgesetzt. Unbedingte Verzweigungsanweisungen ermöglichen die Übertragung einer Ausführungssequenz auf einen anderen Teil eines <a href="Computerprogramm" title="Computerprogramm">Programms</a>. Dazu gehören die <a href="Sprunganweisung" title="Sprunganweisung">Sprunganweisung</a>, switch und das <a href="Unterprogramm" title="Unterprogramm">Unterprogramm</a>, die <a href="Unterroutine" class="mw-redirect" title="Unterroutine">Unterroutine</a> oder der Prozeduraufruf, der normalerweise nach dem Aufruf zur nächsten Anweisung zurückkehrt.
</p><p>Zu Beginn der Entwicklung höherer <a href="Programmiersprache" title="Programmiersprache">Programmiersprachen</a> ermöglichte die Einführung des Blocks die Erstellung von <a href="Computerprogramm" title="Computerprogramm">Programmen</a>, in denen eine Gruppe von <a href="Anweisung_(Programmierung)" title="Anweisung (Programmierung)">Anweisungen</a> und Deklarationen so behandelt werden konnte, als wären sie eine Anweisung. Dies ermöglichte neben der Einführung von <a href="Unterprogramm" title="Unterprogramm">Unterprogrammen</a>, komplexe Strukturen durch hierarchische Zerlegung in einfachere prozedurale Strukturen auszudrücken.
</p><p>Viele imperative <a href="Programmiersprache" title="Programmiersprache">Programmiersprachen</a> sind Abstraktionen der Assemblersprache.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Abgrenzung">Abgrenzung</h2></div>
<p>Als <i>Gegenentwurf</i> zur imperativen <a href="Programmierung" title="Programmierung">Programmierung</a> gilt das Paradigma der <a href="Deklarative_Programmierung" title="Deklarative Programmierung">deklarativen Programmierung</a>. Bei der deklarativen Programmierung wird vom <a href="Softwareentwickler" title="Softwareentwickler">Entwickler</a> im <a href="Quellcode" class="mw-redirect" title="Quellcode">Quellcode</a> definiert, <i>was</i> das <a href="Computerprogramm" title="Computerprogramm">Programm</a> machen soll, aber nicht <i>wie.</i>
</p><p>„Die meisten […] <a href="Programmiersprache" title="Programmiersprache">Programmiersprachen</a>, darunter auch <i><a href="Objektorientierte_Programmierung" title="Objektorientierte Programmierung">objektorientierte</a> Sprachen</i> wie <a href="C-Sharp" title="C-Sharp">C#</a>, <a href="Visual_Basic_.NET" title="Visual Basic .NET">Visual Basic .NET</a>, <a href="C%2B%2B" title="C++">C++</a> und <a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a>, unterstützen in erster Linie [auch] die imperative […] Programmierung“.<sup id="cite_ref-MSLIB_2-1" class="reference"><a href="#cite_note-MSLIB-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Das Prinzip der <a href="Datenkapselung_(Programmierung)" title="Datenkapselung (Programmierung)">Datenkapselung</a> <i>(information hiding)</i> wird in imperativen Sprachen oft dadurch umgesetzt, dass Prozeduren, die eine logische Einheit bilden, in <a href="Modul_(Software)" title="Modul (Software)">Modulen</a> oder Paketen zusammengefasst werden.
</p><p><i>Nicht maßgeblich</i> für die Einstufung als ‚imperativ‘ ist die Tatsache, dass bei der <i>physischen Ausführung</i> von <a href="Computerprogramm" title="Computerprogramm">Computerprogrammen</a> im <a href="Prozessor" title="Prozessor">Prozessor</a> die einzelnen Befehle des <a href="Maschinencode" class="mw-redirect" title="Maschinencode">Maschinencodes</a> „Befehl für Befehl“ ausgeführt werden, denn dies ist unabhängig vom praktizierten <a href="Programmierparadigma" title="Programmierparadigma">Paradigma</a> immer so. Vielmehr setzt ‚imperativ‘ voraus, dass „ein <i><a href="Softwareentwickler" title="Softwareentwickler">Entwickler</a></i> <a href="Code" title="Code">Code</a> erstellt, der detailliert die Schritte beschreibt, die der <a href="Computer" title="Computer">Computer</a> zur Erfüllung der Aufgabe ausführen muss“.<sup id="cite_ref-MSLIB_2-2" class="reference"><a href="#cite_note-MSLIB-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Deklarativ erstellte <a href="Anweisung_(Programmierung)" title="Anweisung (Programmierung)">Anweisungen</a> etwa werden von übergeordneten oder eingebundenen <a href="Systemkomponente" class="mw-redirect" title="Systemkomponente">Systemkomponenten</a> – und nur ‚basierend‘ auf dem <a href="Quellcode" class="mw-redirect" title="Quellcode">Quellcode </a>– in ausführbare <a href="Maschinenbefehl" class="mw-redirect" title="Maschinenbefehl">Maschinenbefehle</a> umgeformt. Beispiel ‚<a href="SQL" title="SQL">SQL</a>-Kommandos‘: Komponenten der <a href="Systemsoftware" title="Systemsoftware">Systemsoftware</a> des <a href="Datenbankmanagementsystem" class="mw-redirect" title="Datenbankmanagementsystem">Datenbankmanagementsystems</a> interpretieren sie, erzeugen daraus Maschinencode und lassen diesen ausführen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Beispiel">Beispiel</h2></div>
<p>Ausgabe der <a href="Quadratzahl" title="Quadratzahl">Quadratzahlen</a> ungerader Zahlen von 3 bis 11.
</p><p><b>Imperative Programmierung (Beispiel in der <a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a> <a href="C_(Programmiersprache)" title="C (Programmiersprache)">C</a>):</b>
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">12</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span>
<span class="p">{</span>
<span class="w"> </span><span class="n">printf</span><span class="p">(</span><span class="s">"%d</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">i</span><span class="p">);</span>
<span class="p">}</span>
</pre></div>
<p><b>Funktionale Programmierung (Beispiel in der <a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a> <a href="Haskell_(Programmiersprache)" title="Haskell (Programmiersprache)">Haskell</a>):</b>
</p>
<div class="mw-highlight mw-highlight-lang-haskell mw-content-ltr" dir="ltr"><pre><span></span><span class="nf">mapM_</span><span class="w"> </span><span class="n">print</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="n">i</span><span class="o">^</span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="ow"><-</span><span class="w"> </span><span class="p">[</span><span class="mi">3</span><span class="p">,</span><span class="mi">5</span><span class="o">..</span><span class="mi">11</span><span class="p">]</span><span class="w"> </span><span class="p">]</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>Terrence W. Pratt, Marvin V. Zelkowitz: <cite style="font-style:italic">Programming Languages: Design and Implementation</cite>. 4. Auflage. Prentice Hall, 2000, ISBN 978-0-13-027678-0.<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:Imperative+Programmierung&rft.au=Terrence+W.+Pratt%2C+Marvin+V.+Zelkowitz&rft.btitle=Programming+Languages%3A+Design+and+Implementation&rft.date=2000&rft.edition=4.&rft.genre=book&rft.isbn=9780130276780&rft.pub=Prentice+Hall" style="display:none"> </span></li>
<li>Robert W. Sebesta: <cite style="font-style:italic">Concepts of Programming Languages</cite>. 9. Auflage. Addison-Wesley, 2009, ISBN 978-0-13-607347-5.<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:Imperative+Programmierung&rft.au=Robert+W.+Sebesta&rft.btitle=Concepts+of+Programming+Languages&rft.date=2009&rft.edition=9.&rft.genre=book&rft.isbn=9780136073475&rft.pub=Addison-Wesley" style="display:none"> </span></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-GKIT-1"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-GKIT_1-0">a</a></sup> <sup><a href="#cite_ref-GKIT_1-1">b</a></sup></span> <span class="reference-text">Böhm, Jungkunz: <i>Grundkurs IT-Berufe</i>. Vieweg-Verlag, <a rel="nofollow" class="external text" href="http://books.google.de/books?id=tws9IGwds8MC&pg=PA86&lpg=PA86&dq=imperativ+Programmierung+prozedural&source=bl&ots=o5UE0MzcJ7&sig=NxPP9QJkysudSP6zfjv1pQ7tvtY&hl=de&ei=N6rcTsL4L4ar-gbhh5CgAg&sa=X&oi=book_result&ct=result&resnum=4&ved=0CC0Q6AEwAzgK#v=onepage&q=imperativ%20Programmierung%20prozedural&f=false">books.google.de</a></span>
</li>
<li id="cite_note-MSLIB-2"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-MSLIB_2-0">a</a></sup> <sup><a href="#cite_ref-MSLIB_2-1">b</a></sup> <sup><a href="#cite_ref-MSLIB_2-2">c</a></sup></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/de-de/library/bb669144.aspx">Microsoft Library</a> MSDN</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text">Goos: <i>Vorlesungen über Informatik</i>. <a rel="nofollow" class="external text" href="http://books.google.co.uk/books?id=-I_rfAOjZiYC&pg=PA1&hl=de&source=gbs_toc_r&cad=3#v=onepage&q&f=false">books.google.co.uk</a></span>
</li>
<li id="cite_note-PD-4"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-PD_4-0">a</a></sup> <sup><a href="#cite_ref-PD_4-1">b</a></sup></span> <span class="reference-text"><i>Java and Object-Oriented Programming Paradigm</i>. <a rel="nofollow" class="external text" href="http://books.google.com/books?id=wxTajapmFyMC&pg=PA6&dq=procedural+programming+paradigm&hl=de&ei=esXOTpCGBIK3hAeMqPHBDQ&sa=X&oi=book_result&ct=result&resnum=1&ved=0CC8Q6AEwAA#v=onepage&q=procedural%20programming%20paradigm&f=false">books.google.com</a></span>
</li>
<li id="cite_note-PPM-5"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-PPM_5-0">a</a></sup> <sup><a href="#cite_ref-PPM_5-1">b</a></sup></span> <span class="reference-text"><i>Programming Paradigms and Methodology</i>. <a rel="nofollow" class="external text" href="http://books.google.com/books?id=gvm9TPE96t4C&pg=PA170&dq=procedural+programming+paradigm&hl=de&ei=esXOTpCGBIK3hAeMqPHBDQ&sa=X&oi=book_result&ct=result&resnum=10&ved=0CGEQ6AEwCQ#v=onepage&q=procedural%20programming%20paradigm&f=false">books.google.com</a></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text"><span class="book">Bruce Eckel: <cite class="lang" lang="en" dir="auto" style="font-style:italic">Thinking in Java</cite>. <a href="Pearson_Education" title="Pearson Education">Pearson Education</a>, 2006, ISBN 978-0-13-187248-6, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>24</span> (englisch, <a rel="nofollow" class="external text" href="https://books.google.com/?id=bQVvAQAAQBAJ&pg=PA24&lpg=PA24&dq=imperative#v=onepage&q=imperative&f=false">google.com</a>).<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:Imperative+Programmierung&rft.au=Bruce+Eckel&rft.btitle=Thinking+in+Java&rft.date=2006&rft.genre=book&rft.isbn=9780131872486&rft.pages=24&rft.pub=Pearson+Education" style="display:none"> </span></span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-06-22" href="https://de.wikipedia.org/wiki/?title=Imperative_Programmierung&oldid=257250332">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>